import Vue from 'vue'
import App from './App.vue'
// 路由
import router from './router'
// Vue.use(router);

// Vuex
import store from './store'

// 全局组件库、组件、样式
import './styles/index'

// 是否启用PWA
import './sw/registerServiceWorker'

// 注册自定义插件
import './plugins'

// 调用共通js
import './common'

// 共通filters
import * as filters from './filters'
Object.entries(filters).forEach(([key, value]) => {
  Vue.filter(key, value)
})

Vue.config.productionTip = false;

// 开发时是否使用数据库中的菜单，修改后需要重新登陆
if (process.env.NODE_ENV !== 'production') {
  sessionStorage.MenusFromDB = false
}

const $bus = new Vue()
Object.defineProperties(Vue.prototype, {
  $bus: {
    get() {
      return $bus
    },
  },
})

new Vue({
  router: router,
  store: store,
  render: (h) => h(App)
}).$mount('#app')